/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package EntidadesController;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import javax.faces.model.SelectItem;

/**
 *
 * @author Tiago
 */
public class Tipo_notificacao {
    private List<String> ListaTipos = null;
    private String tipo = "";
    private int modo_envio;
    private SQLException erro = new SQLException();
    static Connection conexao = null;
    static Statement estado = null;
    static ResultSet rs;
    private boolean render=false;
    private String msgerro;

    public Tipo_notificacao() {
        conexao = new Conexao().Acesso();
    }

    public boolean isRender() {
        return render;
    }

    public void setRender(boolean render) {
        this.render = render;
    }

    public String getMsgerro() {
        return msgerro;
    }

    public void setMsgerro(String msgerro) {
        this.msgerro = msgerro;
    }

    public String inserir() throws SQLException {
        String result_inserir = "failure";

        try {
            estado = conexao.createStatement();

            estado.execute("INSERT INTO tipo_notif VALUES('"+ tipo +"','"+modo_envio+"');");
            estado.close();
            result_inserir = "success";
            render = false;
        } catch (SQLException e) {
            this.erro = e;
            msgerro = erro.getLocalizedMessage();

            if (msgerro.contains("pk_matriculadisc")&&msgerro.contains("unicidade"))
            {msgerro = "Esse número de matrícula ja está cadastrado!";}
            estado.close();
            result_inserir = "failure";
            render = true;
        }
        return result_inserir;
    }

    public String getErro() {
        return erro.getMessage();
    }

    public String getTipo()
    {
        return this.tipo;
    }

    public void setTipo(String type)
    {
        this.tipo = type;
    }

    public int getModoEnvio()
    {
        return this.modo_envio;
    }

    public void setModoEnvio(int modo)
    {
        this.modo_envio = modo;
    }

    public List<String> getListaTipo() throws SQLException
    {
        String result_inserir = "failure";
        List<String> typeList = new ArrayList<String>();

        estado = conexao.createStatement();
        try
        {
            rs = estado.executeQuery("SELECT tiponotificacao FROM tipo_notif");
            while (rs.next() == true)
            {
                typeList.add(rs.getString(1));
            }
                this.ListaTipos = typeList;
                result_inserir = "sucess";
        }
        catch (SQLException e)
        {
            this.erro = e;
            estado.close();
            result_inserir = "failure";
        }
        return this.ListaTipos;
    }
}